package com.onLineCar.manages.pojo;


import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.onLineCar.manages.pojo.response.CarBaseInfoResponse;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 车辆基本信息表
 * </p>
 *
 * @author zhucaiyi
 * @since 2023-12-10
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class VehicleInfo implements Serializable {

    // private static final long serialVersionUID = 1L;

    @TableId(value = "vehicle_id", type = IdType.AUTO)
    private Integer vehicleId;

    /**
     * 归属城市
     */
    private Integer cityId;

    /**
     * 车辆级别
     */
    private Long vehicleLevelId;

    /**
     * 选择车型
     */
    private Long vehicleTypeId;

    /**
     * 车辆VIN码
     */
    private String vinCode;

    /**
     * 车牌号
     */
    private String licensePlate;

    /**
     * 是否安装车脑，0代表否，1代表是
     */

    private Integer installedVehicleBrain;



    /**
     * 车脑品牌
     */
    private String vehicleBrainBrand;

    /**
     * 车脑编号
     */
    private String vehicleBrainCode;

    /**
     * 大屏品牌
     */
    private String largeScreenBrand;

    /**
     * 大屏编号
     */
    private String largeScreenCode;

    /**
     * 车辆状态
     */
    private String vehicleStatus;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "utf+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;

    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "utf+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updatedAt;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 逻辑删除标志，0代表未删除，1代表已删除
     */
    @TableLogic(value = "0", delval = "1")
    @TableField(value = "is_deleted", fill = FieldFill.DEFAULT)
    private Integer isDeleted;


    @TableField(exist = false)
    private CarBaseInfoResponse carBaseInfoResponse;




}
